svg.connector-run path {
    transition: all 1s linear;
    animation-name: ring;
    animation-duration: 200s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
.node-status {
    border-radius: 5px;
    z-index: -1;
    top: -10px;
    right: -10px;
    position: absolute;
    width: 60px;
    height: 60px;
    cursor: pointer;
    &:hover {
        box-shadow: 0 0 2px black;
        -webkit-transition: -webkit-box-shadow 0.25s ease-in;
        -moz-transition: -moz-box-shadow 0.25s ease-in;
        transition: box-shadow 0.25s ease-in;
    }
}
.node-status-1 {
    left: -5px;
    top: -5px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}

svg.connector-normal path {
    stroke-dasharray: none;
}

.jtk-connector {
    z-index: 0;
}

.jtk-endpoint {
    z-index: 1;
}
.jtk-endpoint-connected circle {
    fill: #ffffff;
    &:hover {
        fill: gray;
    }
}
.endpoint-normal circle {
    fill: transparent;
    stroke: transparent;
}

ul.ztree.zTreeDragUL {
    z-index: 10;
}

.node {
    width: 40px !important;
    height: 40px !important;
    position: absolute;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
}
.node-1 {
    width: 50px !important;
    height: 50px !important;
}
.node-label {
    width: 120px;
    left: -40px;
    text-align: center;
    position: absolute;
    bottom: -25px;
    z-index: 99999;
}

.node-selected {
    opacity: 0.8;
}

.endpoint-orange {
    border-radius: 14px;
    box-shadow: 0 0 9px 3px #ff5c00;
}

@keyframes ring {
    from {
        stroke-dashoffset: 6000;
    }
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes greenPulse {
    from {
        background-color: #1e6a0f;
        box-shadow: 0 0 3px 3px #1e6a0f;
    }
    50% {
        background-color: #39ba1f;
        box-shadow: 0 0 9px 3px #39ba1f;
    }
    to {
        background-color: #1e6a0f;
        box-shadow: 0 0 3px 3px #1e6a0f;
    }
}

@keyframes bluePulse {
    from {
        background-color: #ffffff;
        box-shadow: 0 0 3px 3px gray;
    }
    50% {
        background-color: #ffffff;
        box-shadow: 0 0 9px 3px gray;
    }
    to {
        background-color: #ffffff;
        box-shadow: 0 0 3px 3px gray;
    }
}

@keyframes orangePulse {
    from {
        background-color: #b84c04;
        box-shadow: 0 0 3px 3px #b84c04;
    }
    50% {
        background-color: #ff5c00;
        box-shadow: 0 0 9px 3px #ff5c00;
    }
    to {
        background-color: #b84c04;
        box-shadow: 0 0 3px 3px #b84c04;
    }
}
.icon-loading2 {
    animation: rotating 2s linear infinite;
}
@keyframes rotating {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(1turn);
    }
}
.icon-zhunbeizhong {
    animation: rotating1 2s linear infinite;
}
@keyframes rotating1 {
    0% {
        opacity: 0.2;
    }
    100% {
        opacity: 1;
    }
}